﻿using NP.BPMReportPlatform.AuthorizationUserManager.Dtos;
using NP.BPMReportPlatform.Entities.NPPlatformManage;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace NP.BPMReportPlatform.AuthorizationUserManager
{
    public interface IPlatformManageRoleService : IApplicationService
    {
        Task<PagedResultDto<PermissionsRoles>> GetPageList(PlatformManageRoleInput input);

        Task<List<PermissionsRoles>> ExportExcel(PlatformManageRoleInput input);

        Task<PagedResultDto<PlatformManageRoleUserDto>> GetUserRoleList(PlatformManageRoleUserInput input);

        Task<List<PlatformManageRoleUserDto>> ExportRoleUserExcel(PlatformManageRoleUserInput input);

        Task DeleteRelations(PlatformManageRoleUserDeleteInput input);

        Task BindUsers(PlatformManageBindUsersInput input);

        Task<PagedResultDto<PlatformManageUserDto>> GetUserPageList(PlatformManageRoleUserInput input);

        Task<List<PlatformManageUserDto>> ExportUserExcel(PlatformManageRoleUserInput input);

        Task<PlatformManageRoleMenuTreeData> GetAuthTreeData(Guid roleId);

        Task<List<ImportTemplateModel>> ExportTemplateExcel();

        Task<ImportResultExt<ImportTemplateModel>> ImportUserRoleExcel(List<ImportTemplateModel> data);
    }
}
